Ext.namespace('AnagProcedure.app');

AnagProcedure.app.Main = function(config){
	var url = config.url || '/commongest/CommonServlet/anagrafica/anagraficaProcedureSel';
	var _this=this; 

	var idprocedimento = appContext.currentIdProcedimento;
	
	//alert(idprocedimento);
	
	if(config.sesso!=null)
		var sesso = config.sesso;
	
	var disableBtnNuovaIscrizione = false;
	
	if(config.disableBtnNuovaIscrizione!=null) 
		disableBtnNuovaIscrizione=config.disableBtnNuovaIscrizione;

	/*
	var west = {
		title:'ricerca',
		//frame:true,
		region:'west',
		xtype:'anagraficaproccercaform',
		split: true,
		collapsible: true,
		margins:'3 0 3 3',
		cmargins:'3 3 3 3',
		width:'40%',
		listeners: {
			ricerca: function(params){
				//cerca solo le persone giuridiche
//				if(sesso=='G')
//					params.sesso=sesso;
				Ext.getCmp('anagrafica_btnSeleziona').disable();
				Ext.getCmp('anagraficaBtnNew').enable();
				//disableBtnNuovaIscrizione=false;
				var grid = Ext.getCmp('grid-anagraficapersone');
					
					grid.getStore().load({params: params});
//				console.log(params.sesso);
			},
			pulisceDati: function(){
				var grid = Ext.getCmp('grid-anagraficapersone');
				grid.getStore().removeAll();
			}
		}

	
	}
*/

	var center = new AnagProcedure.grid.AnagGrid({
		url:url,
		region: 'center',
		title: 'elenco',
		id:'grid-anagraficapersone', 
		frame: true,
		margins:'3 0 3 0',
//		xtype: 'anagraficaprocgrid', //utilizzo il nome registrato in editForm
		tbar:[{
			id:'anagraficaBtnNew',
			text:'Nuova iscrizione', 
			disabled:disableBtnNuovaIscrizione,
			handler: function(){
				var dataForm = Ext.getCmp('grid-anagraficapersone').dataVoid;
				var finestra = new Anagrafica.form.WinEdit({
					listeners:{recordadded: function(){
						Ext.getCmp('grid-anagraficapersone').getStore().reload();	//registrazione all'evento 'recordadded' della window che effettua il broadcast dell'omonimo evento sulla form
					}}
				});
				finestra.setValues(dataForm);
				finestra.show();
				}
		},
		{
			text:'seleziona',
			id:'anagrafica_btnSeleziona',
			disabled: true,
			handler: function(){
				var griglia = Ext.getCmp('grid-anagraficapersone');
				var record = griglia.getSelectionModel().getSelected();
				
				//utilizzato dall'oggetto chiamante per passare il record selezionato
				if(config.onCaricaSelezione)  config.onCaricaSelezione(record)
				
				win.close();
			}

		}],
		listeners: {
/*			rowdblclick: function(grid, rowIndex,  e ){
				var ds=grid.getStore();
				var record = ds.getAt(rowIndex);
				var finestra = new Anagrafica.form.WinEdit();
				finestra.show();
				finestra.setRecord(record);
				finestra.loadProfessioni(record.data.idAdresse)
			}*/
			cellclick: function(grid, rowIndex, columnIndex, e) {
				Ext.getCmp('anagrafica_btnSeleziona').enable();
				if(columnIndex != 0)
					return;
				Ext.get(document.body).mask('caricamento in corso...');
				

				//esegue il blocco di istruzioni
				(function(){
					var ds=grid.getStore();
					var record = ds.getAt(rowIndex);
					var finestra = new AnagProcedure.form.WinEdit();
					finestra.addListener('show', function(){Ext.get(document.body).unmask()})
					finestra.show();
					appContext.currentAnagRecord = record;
					finestra.setRecord(record);
					finestra.loadProfessioni(record.data.idAdresse)
					
				}).defer(100)



			},
 			rowdblclick: function(grid, rowIndex, e){
				var ds=grid.getStore();
				var record = ds.getAt(rowIndex);
				grid.fireEvent('caricaselezione', record);   //registrarsi su questo evento 'addListeners' sul modulo chiamante es.ricerca; in questo caso viene passato il record come parametro

			} 
		}
	});
	
	var vp = new Ext.Panel({
		layout:'border',
		items:[center]
	})
	
	var title = config.title||'Anagrafica Persone';

	var win = new Ext.Window({
		layout:'fit',
		title:title,
		closable:true,
		width:800,
		height:350,
		//border:false,
		plain:false,
		modal:true,
		items: [vp]


	});

//	win.on('close',function(){alert('ciao')});
	win.show(function(){alert('id procedimanto:  '+idprocedimento)});
//	win.on('show', function(){alert('id procedimento')})
//	var grid = Ext.getCmp('grid-anagraficapersone');
	
//		grid.getStore().load({idprocedure:idprocedimento});
	
	

};